home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / documents / RFC / rfc1528.txt < prev    next >
Text File  |  1994-08-01  |  19KB  |  676 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         C. Malamud
  8. Request for Comments: 1528                 Internet Multicasting Service
  9. Obsoletes: 1486                                                  M. Rose
  10. Category: Experimental                      Dover Beach Consulting, Inc.
  11.                                                             October 1993
  12.  
  13.  
  14.            Principles of Operation for the TPC.INT Subdomain:
  15.                 Remote Printing -- Technical Procedures
  16.  
  17. Status of this Memo
  18.  
  19.    This memo defines an Experimental Protocol for the Internet
  20.    community.  It does not specify an Internet standard.  Discussion and
  21.    suggestions for improvement are requested.  Please refer to the
  22.    current edition of the "Internet Official Protocol Standards" for the
  23.    standardization state and status of this protocol.  Distribution of
  24.    this memo is unlimited.
  25.  
  26. Table of Contents
  27.  
  28.    1. Introduction ..........................................   2
  29.    2. Naming, Addressing, and Routing .......................   2
  30.    2.1 Addressing ...........................................   2
  31.    2.2 Routing ..............................................   3
  32.    3. Procedure .............................................   3
  33.    3.1 Content-Types ........................................   4
  34.    3.2 Generating a Cover-Sheet .............................   4
  35.    3.3 Return Receipt .......................................   6
  36.    4. Usage Examples ........................................   6
  37.    4.1 Explicit Cover Sheet .................................   6
  38.    4.2 Implicit Cover Sheet .................................   7
  39.    4.3 Minimal, Text-only ...................................   7
  40.    5. Prototype Implementation ..............................   7
  41.    6. Future Issues .........................................   9
  42.    7. Security Considerations ...............................   9
  43.    8. Acknowledgements ......................................   9
  44.    9. References ............................................   9
  45.    10. Authors' Addresses ..................................   10
  46.    A. The application/remote-printing Content-Type .........   11
  47.    B. The image/tiff Content-Type ..........................   12
  48.  
  49. 1. Introduction
  50.  
  51.    Although electronic mail is preferable as a means of third-party
  52.    communication, in some cases it may be necessary to print
  53.    information, in hard-copy form, at a remote location.  The remote
  54.    output device may consist of a standard line printer, a printer with
  55.  
  56.  
  57.  
  58. Malamud & Rose                                                  [Page 1]
  59.  
  60. RFC 1528        Remote Printing -- Technical Procedures     October 1993
  61.  
  62.  
  63.    multiple fonts and faces, a printer that can reproduce graphics, or a
  64.    facsimile device.  Remote output may be accompanied by information
  65.    that identifies the intended recipient.  This memo describes a
  66.    technique for "remote printing" using the Internet mail
  67.    infrastructure.  In particular, this memo focuses on the case in
  68.    which remote printers are connected to the international telephone
  69.    network.
  70.  
  71. 2. Naming, Addressing, and Routing
  72.  
  73.    A printer is identified by a telephone number which corresponds to a
  74.    G3-facsimile device connected to the international telephone network,
  75.    e.g.,
  76.  
  77.       +1 415 968 2510
  78.  
  79.    where "+1" indicates the IDDD country code, and the remaining string
  80.    is a telephone number within that country.
  81.  
  82. 2.1 Addressing
  83.  
  84.    This number is used to construct the address of a remote printer
  85.    server, which forms the recipient address for the message, e.g.,
  86.    either
  87.  
  88.       remote-printer@0.1.5.2.8.6.9.5.1.4.1.tpc.int
  89.  
  90.       or
  91.  
  92.       remote-printer.ATOM@0.1.5.2.8.6.9.5.1.4.1.tpc.int
  93.  
  94.    where "ATOM" is an (optional) RFC 822 atom [1], an opaque string for
  95.    use in recipient identification when generating a cover-sheet, and
  96.    the domain-part is constructed by reversing the telephone number,
  97.    converting each digit to a domain-label, and being placed under
  98.    "tpc.int."
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Malamud & Rose                                                  [Page 2]
  115.  
  116. RFC 1528        Remote Printing -- Technical Procedures     October 1993
  117.  
  118.  
  119.    Note that the mailbox syntax is purposefully restricted in the
  120.    interests of pragmatism.  To paraphrase RFC 822, an atom is defined
  121.    as:
  122.  
  123.       atom    = 1*atomchar
  124.  
  125.       atomchar=  <any upper or lowercase alphabetic character
  126.                  (A-Z a-z)>
  127.                 / <any digit (0-9)>
  128.                 / "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+"
  129.                 / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{"
  130.                 / "|" / "}" / "~"
  131.  
  132.    Finally, note that some Internet mail software (especially gateways
  133.    from outside the Internet) impose stringent limitations on the size
  134.    of a mailbox-string.  Thus, originating user agents should take care
  135.    in limiting the local-part to no more than 70 or so characters.
  136.  
  137. 2.2 Routing
  138.  
  139.    The message is routed in exactly the same fashion as all other
  140.    electronic mail, i.e., using the MX algorithm [2].  Since a remote
  141.    printer server might be able to access many printers, the wildcarding
  142.    facilities of the DNS [3,4] are used accordingly.  For example, if a
  143.    remote printer server residing at "dbc.mtview.ca.us" was willing to
  144.    access any printer with a telephone number prefix of
  145.  
  146.       +1 415 968
  147.  
  148.    then this resource record might be present
  149.  
  150.       *.8.6.9.5.1.4.1.tpc.int.    IN MX 10 dbc.mtview.ca.us.
  151.  
  152.    Naturally, if several remote printer servers were willing to access
  153.    any printer in that prefix, multiple MX resource records would be
  154.    present.
  155.  
  156.    It should be noted that the presence of a wildcard RR which matches a
  157.    remote printer server's address does not imply that the corresponding
  158.    telephone number is valid, or, if valid, that a G3-facsimile device
  159.    is connected at the phone number.
  160.  
  161. 3. Procedure
  162.  
  163.    When information is to be remotely printed, the user application
  164.    constructs an RFC 822 message, containing a "Message-ID" field.
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Malamud & Rose                                                  [Page 3]
  171.  
  172. RFC 1528        Remote Printing -- Technical Procedures     October 1993
  173.  
  174.  
  175.    If the local-part of the address does not contain an opaque string
  176.    for use in recipient identification, then the body must consist
  177.    "multipart/mixed" content [5] having at two parts, the first being a
  178.    "application/remote-printing" content-type (defined in Appendix A),
  179.    which will be used to generate a cover-sheet, and the second being an
  180.    arbitrary content-type corresponding to the information to be
  181.    printed.  If the local-part of the address does contain an opaque
  182.    string for use in recipient identification, then the body consists of
  183.    an arbitrary content-type corresponding to the information to be
  184.    printed.
  185.  
  186.    Regardless, the message is then sent to the remote printer server's
  187.    electronic mail address.
  188.  
  189. 3.1 Content-Types
  190.  
  191.    It should be noted that not all content-types have a natural printing
  192.    representation, e.g., an "audio" or "video" content.  For this
  193.    reason, the second part of the "multipart/mixed" content should be
  194.    one of the following:
  195.  
  196.    text/plain, message/rfc822, application/postscript image/tiff
  197.    (defined in Appendix B), any multipart.
  198.  
  199.    Note that:
  200.  
  201.       (1) With the "text/plain" content-type, not all character
  202.           sets may be available for printing.
  203.  
  204.       (2) With the "message" content-type, the subordinate content
  205.           will be processed recursively.
  206.  
  207.       (3) With the "application/postscript" content-type, the
  208.           remote printer server should evaluate the contents in a
  209.           safe execution environment.
  210.  
  211.       (4) With the "multipart" content-type the subordinate contents
  212.           will be processed recursively: for a "multipart/mixed" or
  213.           "multipart/digest" content, each subordinate content will
  214.           start on a new page, whilst for a "multipart/parallel" content,
  215.           all subordinate contents will, if possible, start on the same
  216.           page.  Naturally, when processing a "multipart/alternative"
  217.           content, only one subordinate content will be printed.
  218.  
  219. 3.2 Generating a Cover-Sheet
  220.  
  221.    If the "application/remote-printing" content-type is present,
  222.    this contains all the information necessary to generate a
  223.  
  224.  
  225.  
  226. Malamud & Rose                                                  [Page 4]
  227.  
  228. RFC 1528        Remote Printing -- Technical Procedures     October 1993
  229.  
  230.  
  231.    cover-sheet.  Otherwise, the cover-sheet must be generated
  232.    based on other information available.
  233.  
  234.    Typically, a cover sheet consists of three sections:
  235.  
  236.       o information identifying the originator;
  237.  
  238.       o information identifying the recipient; and,
  239.  
  240.       o additional information supplied by the remote printer
  241.         server.
  242.  
  243.    To identify the originator, the remote printer server will use the
  244.    message headers, usually by stripping any trace headers (i.e.,
  245.    "Received" and "Return-Path") and then re-ordering the remaining
  246.    headers starting with the "From" header.
  247.  
  248.    To identify the recipient, the opaque string from the local- part of
  249.    the remote printer server's address is consulted.  For example, if
  250.    the remote printer server's address is
  251.  
  252.    remote-printer.Arlington_Hewes/Room_403@0.1.5.2.8.6.9.5.1.4.1.tpc.int
  253.  
  254.    then the opaque string
  255.  
  256.    Arlington_Hewes/Room_403
  257.  
  258.    is consulted.  lp When generating a cover-sheet using this opaque
  259.    string, the remote printer server will interpret an underscore
  260.    character ("_") as a space, and a solidus character ("/") as an end-
  261.    of-line sequence.  A remote printer server will interpret two
  262.    consecutive underscore characters in the opaque string as a single
  263.    underscore, and two consecutive solidus characters as a single
  264.    solidus.  So, the opaque string,
  265.  
  266.       Arlington_Hewes/Room_403
  267.  
  268.       might appear on the cover-sheet as
  269.  
  270.       To: Arlington Hewes
  271.       Room 403
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Malamud & Rose                                                  [Page 5]
  283.  
  284. RFC 1528        Remote Printing -- Technical Procedures     October 1993
  285.  
  286.  
  287. 3.3 Return Receipt
  288.  
  289.    When the remote printer server finishes its processing, a message is
  290.    returned to the originator, indicating either success (i.e., the
  291.    message was successfully sent to the facsimile device), or failure,
  292.    with an explanation (e.g., after several repeated attempts, there was
  293.    no answer).
  294.  
  295. 4.  Usage Examples
  296.  
  297. 4.1 Explicit Cover Sheet
  298.  
  299.    To: remote-printer@0.1.5.2.8.6.9.5.1.4.1.tpc.int
  300.    From: Carl Malamud <carl@malamud.com>
  301.    Date: Thu, 22 Jul 1993 08:38:00 -0800
  302.    Subject: First example
  303.    Message-ID: <19930722163800.1@malamud.com>
  304.    MIME-Version: 1.0
  305.    Content-Type: multipart/mixed;
  306.            boundary="----- =_aaaaaaaaaa0"
  307.  
  308.    ------- =_aaaaaaaaaa0
  309.    Content-Type: application/remote-printing
  310.  
  311.    Recipient:    Arlington Hewes
  312.    Telephone:    +1 415 968 1052
  313.    Facsimile:    +1 415 968 2510
  314.  
  315.    Originator:   Carl Malamud
  316.    Organization: Internet Multicasting Service
  317.    Address:      Suite 1155, The National Press Building
  318.                  Washington, DC 20045
  319.                  US
  320.    Telephone:    +1 202 628 2044
  321.    Facsimile:    +1 202 628 2042
  322.    EMail:        carl@malamud.com
  323.  
  324.    Any text appearing here would go on the cover-sheet.
  325.  
  326.    ------- =_aaaaaaaaaa0
  327.    Content-Type: text/plain; charset="us-ascii"
  328.  
  329.     Here are my comments...
  330.  
  331.    ------- =_aaaaaaaaaa0--
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Malamud & Rose                                                  [Page 6]
  339.  
  340. RFC 1528        Remote Printing -- Technical Procedures     October 1993
  341.  
  342.  
  343. 4.2 Implicit Cover Sheet
  344.  
  345. To:remote-printer.Arlington_Hewes/Room_403@0.1.5.2.8.6.9.5.1.4.1.tpc.int
  346. cc: Marshall Rose <mrose@dbc.mtview.ca.us>
  347. From: Carl Malamud <carl@malamud.com>
  348. Date: Thu, 22 Jul 1993 08:38:00 -0800
  349. Subject: Second example
  350. Message-ID: <19930722163800.2@malamud.com>
  351. MIME-Version: 1.0
  352. Content-Type: application/postscript
  353.  
  354. %!
  355.  
  356. Note that in this latter example, both remote printing and e-mail
  357. recipients can be identified in the same message.
  358.  
  359. 4.3 Minimal, Text-only
  360.  
  361. To:remote-printer.Arlington_Hewes/Room_403@0.1.5.2.8.6.9.5.1.4.1.tpc.int
  362. cc: Marshall Rose <mrose@dbc.mtview.ca.us>
  363. From: Carl Malamud <carl@malamud.com>
  364. Date: Thu, 22 Jul 1993 08:38:00 -0800
  365. Subject: Third example
  366. Message-ID: <19930722163800.3@malamud.com>
  367.  
  368.  Here are my comments...
  369.  
  370. 5. Prototype Implementation
  371.  
  372.    A prototype implementation is openly available.  The MIME
  373.    instructions for retrieval are:
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Malamud & Rose                                                  [Page 7]
  395.  
  396. RFC 1528        Remote Printing -- Technical Procedures     October 1993
  397.  
  398.  
  399.       MIME-Version: 1.0
  400.       Content-Type: multipart/alternative;
  401.               boundary="----- =_aaaaaaaaaa0"
  402.       Content-Description:  pointers to ftp and e-mail access
  403.  
  404.       ------- =_aaaaaaaaaa0
  405.       Content-Type: message/external-body;
  406.               access-type="mail-server";
  407.               server="archive-server@ftp.ics.uci.edu"
  408.  
  409.       Content-Type: application/octet-stream; type="tar";
  410.               x-conversions="x-compress"
  411.       Content-ID: <4599.735726126.1@dbc.mtview.ca.us>
  412.  
  413.       mimesend mrose/tpc/rp.tar.Z
  414.  
  415.       ------- =_aaaaaaaaaa0
  416.       Content-Type: message/external-body;
  417.               access-type="anon-ftp"; name="rp.tar.Z";
  418.               directory="mrose/tpc"; site="ftp.ics.uci.edu"
  419.  
  420.       Content-Type: application/octet-stream; type="tar";
  421.               x-conversions="x-compress"
  422.       Content-ID: <4599.735726126.2@dbc.mtview.ca.us>
  423.  
  424.        ------- =_aaaaaaaaaa0--
  425.  
  426.    This package contains software for UNIX-based systems, and was
  427.    developed and tested under SunOS, with an openly-available facsimile
  428.    package (Sam Leffler's FlexFAX package), and contains information for
  429.    sites acting as either client or server participants, and zone
  430.    administrators.
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Malamud & Rose                                                  [Page 8]
  451.  
  452. RFC 1528        Remote Printing -- Technical Procedures     October 1993
  453.  
  454.  
  455. 6. Future Issues
  456.  
  457.    Note that several issues are not addressed, e.g.,
  458.  
  459.       o determining which content-types and character sets are
  460.         supported by a remote printer server;
  461.  
  462.       o introduction of authentication, integrity, privacy,
  463.         authorization, and accounting services;
  464.  
  465.       o preferential selection of a remote printer server; and,
  466.  
  467.       o aggregation of multiple print recipients in a single
  468.         message.
  469.  
  470.    Subsequent work might consider these issues in detail.
  471.  
  472. 7. Security Considerations
  473.  
  474.    Internet mail may be subject to monitoring by third parties, and in
  475.    particular, message relays.
  476.  
  477. 8. Acknowledgements
  478.  
  479.    This document is based on RFC 1486, "An Experiment in Remote
  480.    Printing".
  481.  
  482. 9. References
  483.  
  484.    [1] Crocker, D., "Standard for the Format of ARPA Internet Text
  485.        Messages", STD 11, RFC 822, UDEL, August 1982.
  486.  
  487.    [2] Partridge, C., "Mail Routing and the Domain System" STD 14, RFC
  488.        974, CSNET CIC BBN, January 1986.
  489.  
  490.    [3] Mockapetris, P., "Domain Names -- Concepts and Facilities", STD
  491.        13, RFC 1034, USC/Information Sciences Institute, November 1987).
  492.  
  493.    [4] Mockapetris, P., "Domain Names -- Implementation and
  494.        Specification", STD 13, RFC 1035, USC/Information Sciences
  495.        Institute, November 1987.
  496.  
  497.    [5] Borenstein, N., and N. Freed, "MIME (Multipurpose Internet Mail
  498.        Extensions) Part One: Mechanisms for Specifying and Describing
  499.        the Format of Internet Message Bodies", RFC 1521, Bellcore,
  500.        Innosoft, September 1993.
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Malamud & Rose                                                  [Page 9]
  507.  
  508. RFC 1528        Remote Printing -- Technical Procedures     October 1993
  509.  
  510.  
  511. 10. Authors' Addresses
  512.  
  513.    Carl Malamud
  514.    Internet Multicasting Service
  515.    Suite 1155, The National Press Building
  516.    Washington, DC 20045
  517.    US
  518.  
  519.    Phone: +1 202 628 2044
  520.    Fax:   +1 202 628 2042
  521.    Email: carl@malamud.com
  522.  
  523.  
  524.    Marshall T. Rose
  525.    Dover Beach Consulting, Inc.
  526.    420 Whisman Court
  527.    Mountain View, CA  94043-2186
  528.    US
  529.  
  530.    Phone: +1 415 968 1052
  531.    Fax:   +1 415 968 2510
  532.    Email: mrose@dbc.mtview.ca.us
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Malamud & Rose                                                 [Page 10]
  563.  
  564. RFC 1528        Remote Printing -- Technical Procedures     October 1993
  565.  
  566.  
  567. Appendix A.  The application/remote-printing Content-Type
  568.  
  569.    (1) MIME type name: application
  570.  
  571.    (2) MIME subtype name: remote-printing
  572.  
  573.    (3) Required parameters: none
  574.  
  575.    (4) Optional parameters: none
  576.  
  577.    (5) Encoding considerations: 7bit preferred
  578.  
  579.    (6) Security considerations: none
  580.  
  581.    (7) Specification:
  582.  
  583.    The "application/remote-printing" content-type contains originator
  584.    and recipient information used when generating a cover-sheet.  Using
  585.    the ABNF notation of RFC 822, the syntax for this content is:
  586.  
  587.    <content>         ::=  <recipient-info> CRLF
  588.                           <originator-info>
  589.                           [CRLF <cover-info>]
  590.  
  591.    <recipient-info>  ::=   "Recipient"    ":" <value> CRLF
  592.                             <address-info>
  593.    <originator-info> ::=   "Originator"   ":" <value> CRLF
  594.                              <address-info>
  595.  
  596.    <address-info>    ::=  ["Title"        ":" <value> CRLF]
  597.                           ["Department"   ":" <value> CRLF]
  598.                           ["Organization" ":" <value> CRLF]
  599.                           ["Mailstop"     ":" <value> CRLF]
  600.                           ["Address"      ":" <value> CRLF]
  601.                           ["Telephone"    ":" <value> CRLF]
  602.                            "Facsimile"    ":" <value> CRLF
  603.                           ["Email"        ":" <value> CRLF]
  604.    <value>           ::=  *text
  605.                           [CRLF LWSP-char     <value>     ]
  606.  
  607.    <cover-info>      ::=  *(*text CRLF)
  608.  
  609.    Note that the value of the "Email" field is an RFC 822 mailbox
  610.    address.
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Malamud & Rose                                                 [Page 11]
  619.  
  620. RFC 1528        Remote Printing -- Technical Procedures     October 1993
  621.  
  622.  
  623. Appendix B. The image/tiff Content-Type
  624.  
  625.    (1) MIME type name: image
  626.  
  627.    (2) MIME subtype name: tiff
  628.  
  629.    (3) Required parameters: none
  630.  
  631.    (4) Optional parameters: none
  632.  
  633.    (5) Encoding considerations: base64
  634.  
  635.    (6) Security considerations: none
  636.  
  637.    (7) Published specification: TIFF class F, as defined in:
  638.  
  639.    Tag Image File Format (TIFF)  revision 6.0
  640.  
  641.    Developer's Desk
  642.    Aldus Corporation
  643.    411 First Ave. South
  644.    Suite 200
  645.    Seattle, WA  98104
  646.    206-622-5500
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Malamud & Rose                                                 [Page 12]
  675.  
  676.